import * as controllers from '../../controllers'
import koaRouter from 'koa-router'
import { jwtMiddlewareDeal, platformMiddlewareDeal } from '../../middleware/jwt'
const router = new koaRouter()

// router.use(platformMiddlewareDeal);
router.use(jwtMiddlewareDeal)

router.prefix('/trial')
router.post(`/test`, controllers.user.testApi)

// 新建游戏
router.post('/game/createGame', controllers.game.createGame)

// 设置玩家分数
router.post('/game/setScore', controllers.game.setScore)
// 获取游戏排行榜
router.get('/game/getGameRank', controllers.game.getGameRank)

// 获取用户信息
router.get('/gpt/getUserInfo', controllers.gpt.getUserInfo)

// 更新用户信息
router.patch('/gpt/updateUserInfo', controllers.gpt.updateUserInfo)

// 创建会话
router.post('/gpt/createDialog', controllers.gpt.createDialog)

// 获取会话列表
router.get('/gpt/getDialogList', controllers.gpt.getDialogList)

// 删除会话
router.delete('/gpt/deleteDialog/:id', controllers.gpt.deleteDialog)

// 编辑会话
router.patch('/gpt/editDialog', controllers.gpt.editDialog)

// 获取会话消息
router.get('/gpt/getDialogMessage', controllers.gpt.getDialogMessage)

// gpt 问答
router.post('/gpt/stream', controllers.gpt.chat)

// 提交用户反馈
router.post('/gpt/addFaceback', controllers.gpt.addFaceback)

// // 消息编辑（最后一条用户信息）
// router.post('/gpt/messageEdit', controllers.gpt.messageEdit)
/**
 * @api {get} /trial/translate 翻译
 * @apiGroup gpt
 * @apiVersion 1.0.0
 * @apiQuery {String} message 要查询的文本
 * @apiQuery {String=cn,en,ja} to 翻译的目标语言
 * @apiHeader {String} token
 * @apiDescription 翻译
 */
// router.get('/gpt/translate', controllers.gpt.translate)

/**
 * @api {get} /trial/correct 纠错
 * @apiGroup gpt
 * @apiVersion 1.0.0
 * @apiQuery {String} message 要查询的文本
 * @apiHeader {String} token
 * @apiDescription 纠错
 */
// router.get('/gpt/correct', controllers.gpt.correct)

/**
 * @api {post} /trial/createImg 创建图片
 * @apiGroup gpt
 * @apiVersion 1.0.0
 * @apiBody {String} message 要查询的文本
 * @apiheader {String} Content-Type=application/json
 * @apiHeader {String} token
 * @apiDescription 创建图片
 */
router.post('/gpt/createImg', controllers.gpt.createImg)

/**
 * @api {post} /trial/textToVoice 文本转语音
 * @apiGroup gpt
 * @apiVersion 1.0.0
 * @apiBody {String} message 要查询的文本
 * @apiheader {String} Content-Type=application/json
 * @apiHeader {String} token
 * @apiDescription 文本转语音
 */
router.post('/gpt/textToVoice', controllers.gpt.textToVoice)

/**
 * @api {post} /trial/voiceToText 语音转文本，可翻译
 * @apiGroup gpt
 * @apiVersion 1.0.0
 * @apiBody {form-data} file 语音文件
 * @apiBody {String} file.file 文件
 * @apiBody {String} file.fileName 文件名
 * @apiBody {String} file.to 语言
 * @apiHeader {String} token
 * @apiDescription 语音转文本
 */
router.post('/gpt/voiceToText', controllers.gpt.voiceToText)

/**
 * @api {post} /trial/imagine 图片想象
 * @apiGroup gpt
 * @apiVersion 1.0.0
 * @apiBody {form-data} file 图片文件
 * @apiBody {String} [file.file] 文件
 * @apiBody {String} [file.fileName] 文件名
 * @apiBody {String} [text] 要查询的文本
 * @apiHeader {String} token
 * @apiDescription 图片想象
 */
router.post('/gpt/imagine', controllers.gpt.imagine)

export default router
